package com.ld;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

/**
 * @Author: Liudao
 * @Date: 2022-08-23-14:55
 * @Description:
 */
@SpringBootApplication
public class MySpringBootApplication02 {
    public static void main(String[] args) {
        SpringApplication.run(MySpringBootApplication02.class);

//          测试@Configuration的proxyBeanMethods属性
//        首先获得启动的容器
//        ConfigurableApplicationContext run = SpringApplication.run(MySpringBootApplication02.class);
//          这里可以得到容器内所有被定义的bean名字
//        String[] definitionNames = run.getBeanDefinitionNames();
//        for (String definitionName : definitionNames) {
//            System.out.println("definitionName = " + definitionName);
//        }
//          通过run的getbean方法得到bean，通过bean的方法得到两个不同的service对象
//        HelloServiceAutoConfiguration bean = run.getBean(HelloServiceAutoConfiguration.class);
//        HelloService service11 = bean.helloService123();
//        HelloService service12 = bean.helloService123();
//          若属性是true，两个是同一个对象，否则是不同的对象
//        System.out.println("service11==service12 = " + (service12 == service11));
    }
}
